// 开展培训
function ProjectKaoqin() {
    var _this = this;
    var page;
    _this.page_size = 10;

    // init
    _this.init = function(_page) {
        page = _page;
        _this.initTable();
        _this.initEvent();
    };

    _this.initTable = function() {
        var list_url = appPath + "/admin/projectCenterTrain/showKaoqinList";
        page.init("select_kaoqin_form", list_url, "select_kaoqin_list", "select_kaoqin_page", 1, _this.page_size);
        page.goPage(1);
        page.list = function(dataList){
            _this.obj = dataList;
            if(dataList == null){
                return;
            }
            var len = dataList.length;
            var inner = "", item;
            var status = "";
            // 组装数据
            for(var i=0; i< len; i++) {
                item = dataList[i];
                // 组装数据
                inner += "<tr>";
                inner += '<td width="50">'+(parseInt(i)+1)+'</td>';
                inner += '<td width="50"><input type=\"checkbox\" name="kaoqinBox" data-id="' + item['userId'] + '"></td>';
                inner += '<td width="100">'+ item['userName'] + '</td>';   //姓名
                inner += '<td width="100">'+ item['companyName'] + '</td>';   //单位
                inner += '<td width="100">'+ item['departmentName'] + '</td>';   //部门
                inner += '<td width="100">'+ item['status'] + '</td>';   //状态
                if(item['status'] == '未考勤'){
                    inner += '<td width="100">/</td>';   //考勤方式
                    inner += '<td width="100">/</td>';    //考勤时间
                    inner += '<td width="100">/</td>';    //考勤人
                }else{
                    inner += '<td width="100">'+ item['signType'] + '</td>';   //考勤方式
                    inner += '<td width="100">'+ item['signTime'] + '</td>';    //考勤时间
                    inner += '<td width="100">'+ item['operUser'] + '</td>';    //考勤人
                }
                inner += "</tr>";
            }
            return inner;
        }

    };



    _this.initEvent = function () {
        //搜索
        $("#user_search").click(function () {
            _this.initTable();
        });

        //全部
        $("#user_all").click(function () {
            $("#userName").val("");
            $("#companyName").val("");
            $("#status").val("");
            _this.initTable();
        });

    };


    //弹窗-选择人员
    $("#addUser").click(function(){

        // 调用选择培训人员弹窗
        layer.open({
            type : 2,
            title : '选择培训人员',
            area : [ '1200px', '80%' ],		//弹出层大小
            scrollbar : false,				//false隐藏滑动块
            content : [ appPath + '/popup/enterSelectUser', 'yes' ]
        });

    });


    // 选择人员的回调
    _this.add_user_callback=function(rows){
        var userIds = [];
        for(var i=0; i<rows.length; i++){
            if(rows[i].id){
                var obj=new Object();
                obj.id=rows[i].id;
                obj.userName=rows[i].userName;
                obj.companyName = rows[i].companyName;
                obj.deptName=rows[i].departmentName==null?"":rows[i].departmentName;
                userIds.push(obj);
            }
        }
        userIds =JSON.stringify(userIds);
        var roleId = "-1";
        var roleName="默认角色";

        _this.changeProjectUserOther(roleId,roleName,userIds);
    };


    _this.changeProjectUserOther=function(roleId,rolename, users){
        // 更改项目的其他人员
        $.ajax({
            url: appPath + '/admin/project_create/private/save_project_user',
            async: false,
            type: 'post',
            data: {
                'id': $("#projectId").val(),     // 项目id
                'roleId': roleId,                // 受训角色id
                'roleName': rolename,            // 受训人员ids
                'users': users,
                'projectType': $("#projectType").val(),
                'isCenterTrain': $("#isCenterTrain").val()
            },
            success: function(data){
                var code = data['code'];
                if(code==10000){
                    // 刷新项目人员
                    _this.initTable();
                }else{
                    layer.alert('操作失敗', {icon: 2,  skin: 'layer-ext-moon'});
                }
            }
        });
    }

    // 删除人员
    $("#deleteUser").click(function(){
        var userIds = _this.getUserIds();
        if(userIds.length > 0){
            layer.confirm("与人员相关的项目记录会全部删除（<span style='color: red;'>无法恢复</span>）确定此操作吗?", {
                icon : 3,
                btn : [ "确认", "取消" ]
            }, function() {
                $.ajax({
                    url: appPath + '/admin/project_create/private/delete_project_user',
                    async: false,
                    type: 'post',
                    data: {
                        'projectId': $("#projectId").val(), 	            // 项目总览id
                        'projectStatus': $("#projectStatus").val(), 	          // 项目状态
                        'ids': userIds.join(","), 		                    // 人员ids
                        'projectType':$("#projectType").val(),    //项目类型
                        'isCenterTrain': $("#isCenterTrain").val()      // 0：线上项目；1：集中培训项目
                    },
                    success: function(data){
                        var code = data['code'];
                        if(code){
                            layer.alert('操作成功', {icon: 1,  skin: 'layer-ext-moon'}, function(index){
                                layer.close(index);
                                $("input :checkbox").prop("checked",false);
                                // 刷新项目人员
                                _this.initTable();
                            });
                        }else{
                            layer.alert('操作失敗', {icon: 2,  skin: 'layer-ext-moon'});
                        }
                    }
                });
            });
        }else{
            layer.msg("未选择人员");return;
        }
    });

    // 确定/取消出勤
    _this.updateAttend=function (status) {
        var userIds = _this.getUserIds();
        if(userIds.length > 0){
            // 出勤
            $.ajax({
                url : appPath + '/admin/projectCenterTrain/updateAttendStatus',
                dataType : 'json',
                async : false,
                type : 'post',
                data : {
                    "projectId" : $("#projectId").val(),
                    "userIds" : userIds.join(","),
                    "status" : status
                },
                success : function (data) {
                    var result = data.code;
                    if (10000 == result) {
                        parent.layer.close(parent.layer.getFrameIndex(window.name));
                        layer.msg('操作成功',{time:1000});
                        _this.initTable();  //刷新列表
                    } else {
                        layer.alert('操作失敗');
                    }
                }
            });
        }else{
            layer.msg("未选择人员");return;
        }
    };

    _this.getUserIds = function () {
        var userIdAll = [];
        $("#select_kaoqin_list :checkbox:checked").each(function () {
            userIdAll.push($(this).attr("data-id"));
        });
        return userIdAll;
    }

}

var projectKaoqin = new ProjectKaoqin();